package cn.trs.common.entity;

import cn.trs.common.enums.AlgorithmConsumeTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * @version 1.0
 * @author:yuansen
 * @create:2025/3/28 15:59
 * @description:
 * @ClassName: ConsumedItem
 * @company TRS
 */
// 抽象类 ConsumedItem 使用泛型
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class ConsumedItem {

    /**
     * 消耗类型 {@link AlgorithmConsumeTypeEnum}
     */
    private AlgorithmConsumeTypeEnum type;
    /**
     * 消耗版本
     */
    private String version;
    /**
     * 消耗对象
     */
    private Object object;
    /**
     * 消费子信息
     */
    private List<ConsumedItem> child;
}
